package org.osiris.persistence.controllers;

import java.util.List;

import javax.persistence.EntityManager;

import org.osiris.persistence.Usuario;
import org.osiris.persistence.controllers.exceptions.IllegalOrphanException;
import org.osiris.persistence.controllers.exceptions.NonexistentEntityException;

public interface UsuarioInterface {

	public abstract EntityManager getEntityManager();

	public abstract void create(Usuario usuario);

	public abstract void edit(Usuario usuario) throws IllegalOrphanException,
			NonexistentEntityException, Exception;

	public abstract void destroy(Long id) throws IllegalOrphanException,
			NonexistentEntityException;

	public abstract List<Usuario> findUsuarioEntities();

	public abstract List<Usuario> findUsuarioEntities(int maxResults,
			int firstResult);

	public abstract Usuario findUsuario(Long id);

	public abstract int getUsuarioCount();

}